package com.example.express.controller;

import com.example.express.model.ExpressSheet;
import com.example.express.service.DomainService;
import com.example.express.util.Util;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 快件处理器
 */
@RestController
public class ESController {
    @Autowired
    DomainService service;

    /**
     * 按照指定id获取某个快件
     * @param id
     * @return
     */
    @GetMapping("/es/{id}")
    public ExpressSheet getEs(@PathVariable String id) {
        return service.getEs(id);
    }

    /**
     * 获取所有快件
     * @return
     */
    @GetMapping("/ess")
    public List<ExpressSheet> getEss() {
        return service.getEss();
    }

    /**
     * 新建快件
     * @param es POST请求体中指定的部分快件属性
     * @return
     */
    @PostMapping("/es")
    public ExpressSheet newES(@RequestBody ExpressSheet es) {
        es.setId(Util.genOrderNumber());
        return service.newExpressSheet(es);
    }
}
